<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  
  <title>【Docker】--安装与配置 | 程序小工  | Just do it!</title>
  <meta name="description" content="遇见更好的自己~" />
  <meta name="keywords" content="" />
  <meta name="HandheldFriendly" content="True" />
  <meta name="apple-mobile-web-app-capable" content="yes">
  <link rel="shortcut icon" href="/">
  <link rel="alternate" href="/atom.xml" title="程序小工  | Just do it!">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="docker 是 linux 虚拟化技术，能够一键式搭建开发环境，并且能保证运维、开发、上线部署的环境完全一致，避免了运行环境差异性带来的问题。 具有简单、轻量、快速、高效的特性。掌握 Docker 的安装和相关配置也是提升开发技能的重要途径。">
<meta name="keywords" content="docker">
<meta property="og:type" content="article">
<meta property="og:title" content="【Docker】--安装与配置">
<meta property="og:url" content="http://blog.i2arch.tech/2018/07/31/docker-install/index.html">
<meta property="og:site_name" content="程序小工  | Just do it!">
<meta property="og:description" content="docker 是 linux 虚拟化技术，能够一键式搭建开发环境，并且能保证运维、开发、上线部署的环境完全一致，避免了运行环境差异性带来的问题。 具有简单、轻量、快速、高效的特性。掌握 Docker 的安装和相关配置也是提升开发技能的重要途径。">
<meta property="og:locale" content="zh-Hans">
<meta property="og:updated_time" content="2018-08-14T07:46:10.930Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="【Docker】--安装与配置">
<meta name="twitter:description" content="docker 是 linux 虚拟化技术，能够一键式搭建开发环境，并且能保证运维、开发、上线部署的环境完全一致，避免了运行环境差异性带来的问题。 具有简单、轻量、快速、高效的特性。掌握 Docker 的安装和相关配置也是提升开发技能的重要途径。">
    
  <link href="https://fonts.googleapis.com/css?family=Inconsolata|Titillium+Web" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
  <link href='//cdn.bootcss.com/node-waves/0.7.5/waves.min.css' rel='stylesheet'>
  <link rel="stylesheet" href="/style.css">
  <script>
    function setLoadingBarProgress(num) {
      document.getElementById('loading-bar').style.width=num+"%";
    }
  </script>
</head>

<body>
  <div id="loading-bar-wrapper">
  <div id="loading-bar"></div>
</div>


  <script>setLoadingBarProgress(20)</script>
  <header class="l_header">
	<div class='wrapper'>
		<div class="nav-main container container--flex">
			<a class="logo flat-box" href='/' >
				程序小工  | Just do it!
			</a>
			<div class='menu'>
				<ul class='h-list'>
					
						<li>
							<a class='flat-box nav-home' href='/'>
								<i class='icon icon-list2'></i>
								首页
							</a>
						</li>
					
						<li>
							<a class='flat-box nav-archives' href='/archives'>
								<i class='icon icon-bookmark'></i>
								归档
							</a>
						</li>
					
						<li>
							<a class='flat-box nav-about' href='/about'>
								<i class='icon icon-user'></i>
								关于
							</a>
						</li>
					
				</ul>
				<div class='underline'></div>
			</div>
			
				<div class="m_search">
					<form name="searchform" class="form u-search-form">
						<input type="text" class="input u-search-input" placeholder="Search" />
						<span class="icon icon-search"></span>
					</form>
				</div>
			
			<ul class='switcher h-list'>
				
					<li class='s-search'><a href='javascript:void(0)'><span class="icon icon-search flat-box"></span></a></li>
				
				<li class='s-menu'><a href='javascript:void(0)'><span class="icon icon-menu flat-box"></span></a></li>
			</ul>
		</div>

		<div class='nav-sub container container--flex'>
			<a class="logo" class="flat-box" href='javascript:void(0)'>
				Word of Forks
			</a>

			<ul class='switcher h-list'>
				<li class='s-comment'><a href='javascript:void(0)'><span class="icon icon-chat_bubble_outline flat-box"></span></a></li>
				<li class='s-top'><a href='javascript:void(0)'><span class="icon icon-arrow_upward flat-box"></span></a></li>
				<li class='s-toc'><a href='javascript:void(0)'><span class="icon icon-format_list_numbered flat-box"></span></a></li>
			</ul>
		</div>
	</div>
</header>
<aside class="menu-phone">
	<nav>
		
			<a href="/" class="nav-home nav">
				首页
			</a>
		
			<a href="/archives" class="nav-archives nav">
				归档
			</a>
		
			<a href="/about" class="nav-about nav">
				关于
			</a>
		
	</nav>
</aside>

    <script>setLoadingBarProgress(40);</script>
  <div class="l_body">
    <div class='container clearfix'>
      <!-- 左侧内容 -->
      <div class='l_main'>
        <article id="post-docker-install"
  class="post white-box article-type-post"
  itemscope itemprop="blogPost">
	<section class='meta'>

	<h2 class="title">
  	<a href="/2018/07/31/docker-install/">
    	【Docker】--安装与配置
    </a>
	</h2>

	<div class="pagenav">
		<time>
			2018-07-31
		</time>

		
    
    <div class='cats'>
        <i class="icon icon-bookmark"></i>
        <a href="/categories/Docker/">Docker</a>
    </div>


		
			<div class="pagetags">
				<i class="icon icon-price-tag" style="margin-right: 2px;"></i>
				
					<a href="/tags/docker/" style="margin-left: 3px;">
						docker
					</a>
				
			</div>
			
	</div>
	</section>

	
	<section class="toc-wrapper"><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#一-linux-安装ubuntucentos"><span class="toc-text"> 一、Linux 安装[ubuntu/centos]</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#1安装前检查"><span class="toc-text"> 1.安装前检查</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2安装方式"><span class="toc-text"> 2.安装方式</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#3查看-docker-运行效果"><span class="toc-text"> 3.查看 docker 运行效果</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4使用非-root-用户为当前用户添加-docker-用户组"><span class="toc-text"> 4.使用非 root 用户[为当前用户添加 docker 用户组]</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4docker-升级"><span class="toc-text"> 4.Docker 升级</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#二-安装-docker-compose"><span class="toc-text"> 二、安装 docker-compose</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#1pip-安装"><span class="toc-text"> 1.pip 安装</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2下载二进制文件安装"><span class="toc-text"> 2.下载二进制文件安装</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#三-windows-安装"><span class="toc-text"> 三、Windows 安装</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#1docker-基本介绍"><span class="toc-text"> 1.Docker 基本介绍</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2windows-下的-dockerboot2docker-for-windowsdocker-toolbox"><span class="toc-text"> 2.windows 下的 docker[Boot2Docker for windows|Docker ToolBox]</span></a></li></ol></li></ol></section>
	

	<section class="article typo">
		<div class="article-entry" itemprop="articleBody">
				<span class="zhaiyao">[摘要]</span>
			<p>docker 是 linux 虚拟化技术，能够一键式搭建开发环境，并且能保证运维、开发、上线部署的环境完全一致，避免了运行环境差异性带来的问题。<br>
具有简单、轻量、快速、高效的特性。掌握 Docker 的安装和相关配置也是提升开发技能的重要途径。</p>
<a id="more"></a>
<h2 id="一-linux-安装ubuntucentos"><a class="markdownIt-Anchor" href="#一-linux-安装ubuntucentos"></a> 一、Linux 安装[ubuntu/centos]</h2>
<h3 id="1安装前检查"><a class="markdownIt-Anchor" href="#1安装前检查"></a> 1.安装前检查</h3>
<p><strong>Ubuntu &gt; 12</strong></p>
<p>(1).内核版本：[&gt;=Linux 3.8]</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">uname -a</span><br></pre></td></tr></table></figure>
<p>(2).存储驱动 Device Mapper[文件存在即已安装]</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">ls -l /sys/class/misc/device-mapper</span><br><span class="line"></span><br><span class="line"><span class="comment"># 如果不存在，加载dm_mod模块</span></span><br><span class="line">sudo modprobe dm_mod</span><br></pre></td></tr></table></figure>
<p>(3).开启<a href="http://en.wikipedia.org/wiki/Cgroups" target="_blank" rel="noopener">cgroup</a>和命名空间(namespace)功能</p>
<p>2.6.38 以后的内核都已经提供了良好的支持。</p>
<p>(4).系统为 64 位[x86_64 和 amd64] 【目前不支持 32 位 CPU】</p>
<h3 id="2安装方式"><a class="markdownIt-Anchor" href="#2安装方式"></a> 2.安装方式</h3>
<p>（1）安装 Ubuntu/CentOS 维护的版本</p>
<p>[ubuntu]</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 安装docker[ubuntu]</span></span><br><span class="line">sudo apt-get install -y docker.io</span><br><span class="line"></span><br><span class="line"><span class="comment"># 配置docker</span></span><br><span class="line"><span class="built_in">source</span> /etc/bash_completion.d/docker.io</span><br></pre></td></tr></table></figure>
<p>[centos]</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 安装docker[centos]</span></span><br><span class="line">sudo yum install -y docker</span><br></pre></td></tr></table></figure>
<p>（2）安装 Docker 维护的版本</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 1.检查APT的HTTPS支持，查看/usr/lib/apt/methods/https文件是否存在，如果不存在，运行安装命令</span></span><br><span class="line">apt-get update</span><br><span class="line">apt-get install -y apt-transport-https</span><br><span class="line"></span><br><span class="line"><span class="comment"># 2.添加Docker的apt仓库</span></span><br><span class="line"><span class="built_in">echo</span> deb https://get.docker.com/ubuntu docker main &gt; /etc/apt/sources.list.d/docker.list</span><br><span class="line"></span><br><span class="line"><span class="comment"># 3.添加仓库的key</span></span><br><span class="line">apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys &#123;你的key&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment"># 4.安装</span></span><br><span class="line">apt-get update</span><br><span class="line">apt-get install -y lxc-docker</span><br></pre></td></tr></table></figure>
<p>（3）脚本安装：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 查看系统是否安装curl</span></span><br><span class="line">whereis curl</span><br><span class="line"></span><br><span class="line"><span class="comment"># 安装curl命令</span></span><br><span class="line">sudo apt-get install -y curl   [ubuntu]</span><br><span class="line">sudo yum install -y curl    [centos]</span><br><span class="line"></span><br><span class="line"><span class="comment"># 运行脚本 [获得当前最新稳定版docker]</span></span><br><span class="line">curl -sSL https://get.docker.com/ubuntu/ | sudo sh</span><br></pre></td></tr></table></figure>
<p>（4）查看 docker 版本信息</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 查看docker版本</span></span><br><span class="line">sudo docker version</span><br></pre></td></tr></table></figure>
<p>当前版本信息：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">Client:</span><br><span class="line"> Version:         1.13.1</span><br><span class="line"> API version:     1.26</span><br><span class="line"> Package version: docker-1.13.1-68.gitdded712.el7.centos.x86_64</span><br><span class="line"> Go version:      go1.9.4</span><br><span class="line"> Git commit:      dded712/1.13.1</span><br><span class="line"> Built:           Tue Jul 17 18:34:48 2018</span><br><span class="line"> OS/Arch:         linux/amd64</span><br><span class="line"></span><br><span class="line">Server:</span><br><span class="line"> Version:         1.13.1</span><br><span class="line"> API version:     1.26 (minimum version 1.12)</span><br><span class="line"> Package version: docker-1.13.1-68.gitdded712.el7.centos.x86_64</span><br><span class="line"> Go version:      go1.9.4</span><br><span class="line"> Git commit:      dded712/1.13.1</span><br><span class="line"> Built:           Tue Jul 17 18:34:48 2018</span><br><span class="line"> OS/Arch:         linux/amd64</span><br><span class="line"> Experimental:    <span class="literal">false</span></span><br></pre></td></tr></table></figure>
<h3 id="3查看-docker-运行效果"><a class="markdownIt-Anchor" href="#3查看-docker-运行效果"></a> 3.查看 docker 运行效果</h3>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo docker run ubuntu <span class="built_in">echo</span> <span class="string">'Hello World'</span></span><br></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line">Hello from Docker!</span><br><span class="line">This message shows that your installation appears to be working correctly.</span><br><span class="line"></span><br><span class="line">To generate this message, Docker took the following steps:</span><br><span class="line"> 1. The Docker client contacted the Docker daemon.</span><br><span class="line"> 2. The Docker daemon pulled the &quot;hello-world&quot; image from the Docker Hub.</span><br><span class="line">    (amd64)</span><br><span class="line"> 3. The Docker daemon created a new container from that image which runs the</span><br><span class="line">    executable that produces the output you are currently reading.</span><br><span class="line"> 4. The Docker daemon streamed that output to the Docker client, which sent it</span><br><span class="line">    to your terminal.</span><br><span class="line"></span><br><span class="line">To try something more ambitious, you can run an Ubuntu container with:</span><br><span class="line"> $ docker run -it ubuntu bash</span><br><span class="line"></span><br><span class="line">Share images, automate workflows, and more with a free Docker ID:</span><br><span class="line"> https://hub.docker.com/</span><br><span class="line"></span><br><span class="line">For more examples and ideas, visit:</span><br><span class="line"> https://docs.docker.com/engine/userguide/</span><br></pre></td></tr></table></figure>
<h3 id="4使用非-root-用户为当前用户添加-docker-用户组"><a class="markdownIt-Anchor" href="#4使用非-root-用户为当前用户添加-docker-用户组"></a> 4.使用非 root 用户[为当前用户添加 docker 用户组]</h3>
<p>默认使用 docker 相关命令时，必须使用 root 权限，实际上可以创建 docker 用户组，从而简化 docker 使用操作，不用在所有的 docker 命令前使用<code>sudo</code>命名。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 1.添加docker用户组</span></span><br><span class="line">sudo groupadd docker</span><br><span class="line"></span><br><span class="line"><span class="comment"># 2.将当前用户添加到docker用户组</span></span><br><span class="line">sudo gpasswd -a <span class="variable">$&#123;USER&#125;</span> docker</span><br><span class="line"><span class="comment"># 或</span></span><br><span class="line">sudo usermod -aG docker <span class="variable">$USER</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 3.重启docker服务</span></span><br><span class="line">sudo service docker restart</span><br></pre></td></tr></table></figure>
<p>[注意，执行 gpasswd 命令之后需要注销后重新再登录才能生效]</p>
<blockquote>
<p>添加到 docker 用户组存在安全隐患，docker 用户组对 Docker 具有与 root 用户相同的权限，<br>
所以 docker 用户组中应该只能添加确实需要使用 Docker 的用户和程序</p>
</blockquote>
<h3 id="4docker-升级"><a class="markdownIt-Anchor" href="#4docker-升级"></a> 4.Docker 升级</h3>
<p>[ubuntu]</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo apt-get update</span><br><span class="line">sudo apt-get install docker</span><br></pre></td></tr></table></figure>
<p>[centos]</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo yum update</span><br><span class="line">sudo yum install docker</span><br></pre></td></tr></table></figure>
<h2 id="二-安装-docker-compose"><a class="markdownIt-Anchor" href="#二-安装-docker-compose"></a> 二、安装 docker-compose</h2>
<h3 id="1pip-安装"><a class="markdownIt-Anchor" href="#1pip-安装"></a> 1.pip 安装</h3>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo pip install docker-compose</span><br></pre></td></tr></table></figure>
<h3 id="2下载二进制文件安装"><a class="markdownIt-Anchor" href="#2下载二进制文件安装"></a> 2.下载二进制文件安装</h3>
<p>【查看最新版版本号】:<a href="https://github.com/docker/compose/releases" target="_blank" rel="noopener">docker/compose–github</a></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 下载最新版的docker-compose[版本号需要前往github确认是否为最新，1.22.0是目前的最新版2018/7/31]</span></span><br><span class="line">sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/<span class="built_in">local</span>/bin/docker-compose</span><br><span class="line"></span><br><span class="line"><span class="comment"># 对docker-compose添加可执行权限</span></span><br><span class="line">sudo chmod +x /usr/<span class="built_in">local</span>/bin/docker-compose</span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看版本信息</span></span><br><span class="line">sudo docker-compose -v</span><br></pre></td></tr></table></figure>
<h2 id="三-windows-安装"><a class="markdownIt-Anchor" href="#三-windows-安装"></a> 三、Windows 安装</h2>
<h3 id="1docker-基本介绍"><a class="markdownIt-Anchor" href="#1docker-基本介绍"></a> 1.Docker 基本介绍</h3>
<ul>
<li>Linux 容器技术</li>
<li>操作系统级别的虚拟化</li>
<li>依赖于 Linux 内核的 Namespace 和 Cgroups</li>
</ul>
<h3 id="2windows-下的-dockerboot2docker-for-windowsdocker-toolbox"><a class="markdownIt-Anchor" href="#2windows-下的-dockerboot2docker-for-windowsdocker-toolbox"></a> 2.windows 下的 docker[Boot2Docker for windows|Docker ToolBox]</h3>
<ul>
<li>Boot2Docker Linux ISO | Docker ToolBox [为 docker 定制的虚拟机镜像，包含 docker 的运行环境]</li>
<li>Virtualbox [提供虚拟机服务的软件]</li>
<li>MSYS-git [提供 shell 运行环境]</li>
<li>管理工具</li>
</ul>

		</div>

		
			<div class="art-item-footer">
					
						<span class="art-item-left"><i class="icon icon-chevron-thin-left"></i> <a href="/2018/07/31/docker-base/" rel="prev" title="【Docker】--入门使用">
							【Docker】--入门使用
						</a>上一篇文章</span>
					
					
						<span class="art-item-right">下一篇文章：<a href="/2018/07/31/docker-mirrors/" rel="next"  title="【Docker】更新docker镜像源">
							【Docker】更新docker镜像源
						</a><i class="icon icon-chevron-thin-right"></i></span>
					
			</div>
		

		
			

    <div class="recommended_posts">
        <h3>推荐文章</h3>
        <ul>
            
                <li><a href="http://blog.i2arch.tech/2018/08/07/tp5-controller3/">【ThinkPHP5深入理解】控制器（三）-- 前置操作</a></li>
            
                <li><a href="http://blog.i2arch.tech/2018/07/31/docker-base/">【Docker】--入门使用</a></li>
            
                <li><a href="http://blog.i2arch.tech/2018/07/31/docker-mirrors/">【Docker】更新docker镜像源</a></li>
            
                <li><a href="http://blog.i2arch.tech/2018/07/31/linux-yum源/">【CentOS】更新yum软件源</a></li>
            
        </ul>
    </div>


		
	</section>

	

</article>
<script>
	window.subData = {
		title: '【Docker】--安装与配置',
		tools: true
	}
</script>

      </div>

      <!-- 右侧边栏组件 -->
      <aside class='l_side'>
        
      </aside>

      <div class="gotop">
          
    <a href='javascript:void(0)'>
        <i class="icon icon-arrow_upward flat-box">
        </i>
    </a>

      </div>
      <script>setLoadingBarProgress(60);</script>
    </div>
  </div>
  <footer id="footer" class="clearfix">

	<div class="social-wrapper">
  	
      
        <a href="https://github.com/zqunor" class="social github"
          target="_blank" rel="external">
          <span class="icon icon-github"></span>
        </a>
      
        <a href="https://www.cnblogs.com/zqunor" class="social zhihu"
          target="_blank" rel="external">
          <span class="icon icon-zhihu"></span>
        </a>
      
        <a href="/atom.xml" class="social rss"
          target="_blank" rel="external">
          <span class="icon icon-rss"></span>
        </a>
      
    
  </div>
  <div>Theme <a href='https://github.com/stkevintan/hexo-theme-material-flow' class="codename">MaterialFlow</a>  Powered by<a href="https://blog.i2arch.tech/" target="_blank">程序小工</a>.</div>

</footer>

  <script>setLoadingBarProgress(80);</script>
  

    <script src="//apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src='//cdn.bootcss.com/node-waves/0.7.5/waves.min.js'></script>
    <script src="//cdn.bootcss.com/scrollReveal.js/3.3.2/scrollreveal.min.js"></script>
    <script src="/js/jquery.fitvids.js"></script>
      <script>
        var GOOGLE_CUSTOM_SEARCH_API_KEY = "";
        var GOOGLE_CUSTOM_SEARCH_ENGINE_ID = "";
        var ALGOLIA_API_KEY = "";
        var ALGOLIA_APP_ID = "";
        var ALGOLIA_INDEX_NAME = "";
        var AZURE_SERVICE_NAME = "";
        var AZURE_INDEX_NAME = "";
        var AZURE_QUERY_KEY = "";
        var BAIDU_API_ID = "fca5b83cf69f752ddc96a61ef64a3659";
        var SEARCH_SERVICE = "hexo";
        var ROOT = "/" || "/";
        if (!ROOT.endsWith('/')) ROOT += '/';
      </script>
      <script src="/js/search.js"></script>
        <script src="/js/app.js"></script>
  <script>setLoadingBarProgress(100);</script>
</body>
</html>
